package com.airlines.crewassignment.domain.util;

import java.util.List;
import java.util.Set;

import org.apache.commons.lang3.StringUtils;

import com.airlines.crewassignment.domain.Crew;
import com.airlines.crewassignment.domain.FlightInfo;
import com.airlines.crewassignment.domain.LinkLine;

/**
 * @author xxxx
 * @date 2018年5月8日 
 * @description 软规则计算器
 */
public class SoftRuleUtil {
	/**
	 * 判断一个飞行员在6个月内的航程，是否有本航次连线内的航程
	 * @param crew
	 * @param linkLine
	 * @return 有本连线内的全部航程经验，则返回true，否则返回false
	 */
	public static boolean hasAirportExperience(Crew crew,LinkLine linkLine){
		Set<String> set = crew.getCrewFlightExperience().getAirPortsSetLastSixMonth();
		
		List<FlightInfo> list = linkLine.getFlightInfoList();
		
		int airprotsCount = 0 ;
		for(FlightInfo f : list){
			String airports =  f.getDepartureAirport()+"-"+f.getArrivalAirport();
			for(String s : set){
				if(StringUtils.equals(s, airports)){
					airprotsCount ++;
				}
			}
		}
		
		if(airprotsCount == list.size()){
			return true;
		}else{
			return false;
		}
		
	}
	
	public int getInt(double d){
		return (int) d;
	}
	
}
